package com.motu.vertx.module.utility.base;

import com.motu.vertx.module.utility.toolset.Tool;

/**
 * 基础系统参数配置
 */
public class BaseServerParam {

    public static long TABLE_INIT_ID;//初始表ID
    public static int MOTU_WEBID;//魔兔webid
    public static int MOTU_SDK_GAMEID;//魔兔账号SDK游戏ID
    public static String MOTU_SDK_URL = "http://logsdk.m2time.net/account";//魔兔SDK账号URL（默认是海外SDK）

    public static int REDIS_EXPIRE_TIME = 30 * Tool.DAY;//redis实体类过期时间（单位秒，如果大于0表示会过期，并且要从数据库加载）
    public static int UPDATE_DB_DELAY_TIME = 5 * Tool.MINUTE;// 延迟入库时间
    public static int REDIS_EXPIRE_UPDATE_TIME = 7 * Tool.DAY;// 提前多久更新redis过期时间

    public static String LOG_CURRENCY_TYPE = "USD";//日志发送的货币类型
    public static int SEND_THINKING_DATA = 0;// 是否发送数数sdk日志
    public static int SEND_BI_DATA = 0;// 是否发送bi数据（0否 1是）(目前没用，已经没有发老的bi数据)
	public static int SEND_MOTU_BI_DATA = 0;// 是否发送魔兔数据中台日志（0否 1是）
    public static int PROTOCOL_REQUEST_COUNT_TYPE = 0;// 协议请求统计类型（0关闭 1全部记录 2配表记录）
    public static int AUTO_CHECK_IMAGE = 1;// 是否开启自动审核图片功能（0否 1是）
    public static int SIMULATOR_CANNOT_REGISTER = 0; // 模拟器禁止创角（0未开启 1开启）
    public static int SERVER_ID_DEDUCT = 0; // 服务器ID扣除值(用于大于1000服的服务器ID计算)
    public static int TOKEN_EXPIRED_TIME = Tool.DAY * 30;// 登陆token过期时间
    public static int MERGE_REGION_TAG = 0; // 合区标识（0未开启 1ios 2android）
	public static String SERVER_ZONE; // 服务器地区（用于一个客户端包，多个服务器的情况，要能够区分不同服务器地区，例如欧美，eu表示欧区，na表示美区）
	public static String BAN_REGISTER_REGION;//禁止创角的地区，例如大陆配置CN
	public static int CLASS_PRELOAD_OPEN = 1; // 是否启用class预加载功能（0否，1是）
	public static int APPSTORE_CHARGE_CHECK_TIME = 1;// 苹果充值是否验证票据时间（0否 1是）
	public static int GOOGLE_CHARGE_CHECK_TIME = 1;// 谷歌充值是否验证票据时间（0否 1是）
	public static int RECEIPT_CHECK_TIME = 60;// 苹果谷歌充值票据时间校验允许的误差时间（秒）
	public static String QRCODE_REDIRECT_IOS;//ios二维码跳转url
	public static String QRCODE_REDIRECT_ANDROID;//android二维码跳转url

	public static int LOGIC_WARNING_RUN_TIME = 200;//游戏逻辑执行预警时间
    public static int USER_REQUEST_MAX = 100;//单个玩家请求列表长度上限
    public static int BAN_CONNECT_GATE;//是否禁止连接网关服（0不禁止 1禁止）
    public static int CONNECT_GATE_MAX;//连接单个网关进程最大数量
    public static int[] BAN_LOGIN_PLATFORM;//禁止登陆的渠道号

    public static int ROLE_TIME_LIMIT = Tool.DAY;// ip创角限制时间（秒）
    public static int ROLE_NUM_LIMIT = 0;// ip创角限制数量（0表示不限制）
    public static int ROLE_DEVICE_TIME_LIMIT = Tool.DAY;// 设备创角限制时间（秒）
    public static int ROLE_DEVICE_NUM_LIMIT = 0;// 设备创角限制数量（0表示不限制）
    public static int USER_ONLINE_MAX = 0;// 玩家在线数量上限（>0表示开启限制）


    /***************** 第三方平台参数配置 *****************/

    // 微信小游戏
    public static String WECHAT_GAME_LOGIN_KEY;//微信小游戏登陆密钥(secret)

    // 9377
    public static String GAME_SECRET_KEY_9377;//9377验证密钥

    // 37互娱
    public static String GAME_SECRET_LOGIN_KEY_37;//37互娱登录验证密钥

    // 星辉
    public static String GAME_SECRET_LOGIN_KEY_XINGHUI;//星辉登录验证密钥

    // ujoy
    public static String GAME_SECRET_LOGIN_KEY_UJOY;//ujoy登录验证密钥

    // qooapp
    public static String GAME_SECRET_LOGIN_KEY_QOOAPP;//qooapp登录验证密钥

    // vng
    public static String GAME_SECRET_LOGIN_KEY_VNG;//vng登录验证密钥

    /**
     * 检验必须配置的参数是否有配置
     *
     * @return true有配置 false没配置
     */
    public static boolean check() {
        return TABLE_INIT_ID > 0 && MOTU_WEBID > 0 && MOTU_SDK_GAMEID > 0;
    }

}
